package com.leetcode.alibaba;

import java.util.HashMap;
import java.util.Map;

/**
 * 给定一个长度为 n 的整型数组 arr 和一个整数 k(k>1) 。
 * 已知 arr 中只有 1 个数出现一次，其他的数都出现 k 次。
 * 请返回只出现了 1 次的数。
 * <p>
 * 输入：
 * [5,4,1,1,5,1,5],3
 * 返回值：4
 */
public class 数组中只出现一次的数 {
	public int foundOnceNumber(int[] arr, int k) {
		Map<Integer, Boolean> map = new HashMap();
		for (int num : arr) {
			if (map.containsKey(num)) {
				map.put(num, true);
			} else {
				map.put(num, false);
			}
		}
		for (Map.Entry<Integer, Boolean> entry : map.entrySet()) {
			if (!entry.getValue()) {
				return entry.getKey();
			}
		}
		return 0;
	}
}
